14. 各種の話題 (2)
本日の話題
マークアップ言語
プログラミングのすすめ
インタフェースの進化
開発システムの進化
各種アドバイス
ネット喧嘩
マークアップ言語
テキスト中でフォーマットを指定
TeX, HTML, Markdown, etc.
特殊タグ
<b>text</b>
\bf{text}
The TeX Book (1984)
http://gyazo.com/84e7403307e75b2f6487c832dc59e14e.png
TeXのタグの例
code:sample1.tex
% cat sample1.tex
Hello, world!
\end
% tex sample1.tex
This is TeX, Version 3.141592 (Web2C 7.5.4)
Output written on sample1.dvi (1 page, 228 bytes).
Transcript written on sample1.log.
%
PDF生成
https://gyazo.com/6308eb57737babf793e9c06f42c2b7d0
マクロ利用例
code:sample2.tex
% cat sample2.tex
\def\name{Masui}
Hello, \name!
\end
% tex sample2.tex
This is TeX, Version 3.141592 (Web2C 7.5.4)
Output written on sample2.dvi (1 page, 224 bytes).
Transcript written on sample2.log.
%
生成されたPDF
https://gyazo.com/67c9f11132a18de1ea8823f7ee5b8c6e
LaTeXの例
code:sample4.tex
% cat sample4.tex
\documentclass{article}
\begin{document}
\LARGE
abcde
\begin{quotation}
quoted string
\end{quotation}
\end{document}
% latex sample4
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./sample4.tex
...
Output written on sample4.dvi (1 page, 292 bytes).
Transcript written on sample4.log.
%
生成されたPDF
https://gyazo.com/33a42df4f5acd1804843ca8b7970205c
その他のマークアップ言語
Scribe
roff
RTF
HTML
MarkDown
カーネギーメロン大学でよく使われていた
現在はほぼ絶滅
http://gyazo.com/6febaa039e718d9d3cf4941c73d7909b.png
Scribeの表記
http://gyazo.com/2e9f49c5d0530b4d33576a9b1dfb4e12.png
Scribeの表記
http://gyazo.com/038e5a90cac8236632cb23f5cee3f15f.png
Scribeの名残
BibTeX記法
code:sample.bibtex
@BOOK{Lamport:LaTeX,
AUTHOR = "Leslie Lamport",
TITLE = "LaTeX User's Guide and Document Reference Manual",
PUBLISHER = "Addison-Wesley Publishing Company",
ADDRESS = "Reading, Massachusetts",
YEAR = "1986" }
Roff / Runoff
Unixの標準マークアップ
Manualページで現在も利用
nroff, troff
/usr/share/man/man1/man.1
code:man.1
.SH DESCRIPTION
.B man
formats and displays the on-line manual pages. If you specify
.IR section ,
.B man
only looks in that section of the manual.
.I name
is normally the name of the manual page, which is typically the name
of a command, function, or file.
However, if
.I name
contains a slash
.RB ( / )
then
.B man
interprets it as a file specification, so that you can do
.B "man ./foo.5"
or even
.B "man /cd/foo/bar.1.gz\fR.\fP"
.PP
Trof 出力
% groff -man man.1 > man.ps
http://gyazo.com/32cab038afc431a0ea7f65af650f06a2.png
RTF (Rich Text Format)
Microsoft Wordで利用されるマークアップ
人間が書くものではない
code:sample.rtf
{\rtf1\ansi\ansicpg932\cocoartf949\cocoasubrtf430
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102
\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\f0\i\fs50 \cf0 abc}
HTML
HyperText Markup Language
現在最も広く使われているマークアップ言語
SGMLにもとづいている
Markdown
https://gyazo.com/ba4a2cec603f9f590451a7664cf4f8d8
HTMLの簡易記法
GitHubなどで利用可能
タイトル表記やリスト表記は簡単
リンクや画像のための記法が難しい
方言が多い
Scrapbox
記法の数が少ない
タイトル記法などは無い
プログラミングのすすめ
何故プログラミング?
面白いことができる
Web、実世界、...
便利かつ面白い
そういうものは少ない
カメラ
自動車
プログラミングはこの範疇である
プログラミングのハードル (昔)
開発環境の整備が大変
パソコン内のデータのみ利用
金がかかる
現在の環境
安価で強力なパソコン/スマホ
無料ソフトウェア
ブラウザ + JavaScript
ハードウェア
IoT機器
現在
Webサービスを利用し放題
あらゆるセンサを利用可能
優れた開発環境が無料
全世界プログラミングが可能
どこでも書ける
プログラミングのハードル
学習が難しい
プログラムを書くのが面倒臭い
役にたたない
学習が難しい
確かにそういう面はある
支援環境はまだまだ進化
役にたたない?
算数はどうか
勉強する価値があると思われている
三角関数は?
微分は?
角度をはかるためではない
回転や振動の計算に必須だから
もちろん難しい問題もあるが
簡単で面白いものもいくらでも試せる
解くのが簡単なものもある
様々な事象の実感/納得に便利
乱数について納得
計算し辛い問題を解く
仕事を自動化する
シミュレーション
プログラミング練習問題
いろんなことを実験/体験したい
https://gyazo.com/1d03a198f35c56acc83fe81fd6b51d9e
わかりやすくする工夫
文芸的プログラミング
例示プログラミング
文芸的プログラミング
プログラミングと文書を一緒に書く
これまでの問題
プログラミングが好きなマニア向けの環境が多かったかも
もっとカジュアルに書けるといいだろう
電卓のように
実感のプログラミング
乱数の表示
べき分布の真実
問題解決
非定型的な問題を解く
かわり鶴亀算
「鶴と亀がだいたい20匹」
パズルを解く
シミュレーションによる納得
エスカレータを計算
Steiner木
例: 乱数の実感
例: 問題の解決
例: Steiner Tree
例: 自動お絵描き
例: エスカレータシミュレーション
ホビー的要素
絵を描く
計算機の進化
昔話: 8008で作った計算機
1976ごろ
http://Gyazo.com/078e8c514fec7baf6388b3bc6246423c.png
8008マイコン
http://Gyazo.com/08817cf560e0b559b67dd0f7e121ec3f.png
紙テープリーダ
http://Gyazo.com/3e8612d7427e1e95b93d87c0c71ae5f1.png
Alto
1973 @ PARC
GUIワークステーションのさきがけ
ビットマップディスプレイ
マウス/ウィンドウ/メニュー
http://gyazo.com/96bf4fda6bf46b0f862f9d3c68905016.png
Steve JobsとAlto
https://gyazo.com/d6273198fc881b8b35b1db4b61a1d005
Xerox Star
1981発売
https://gyazo.com/79d6aa012b0c679da9a11b02cb3f659e.png
JStar
1982発売
日本語対応
https://gyazo.com/966466ccdf1c07654c2c9574c8a0b459.png
Lisa
1983 @ Apple
AppleのGUIパソコン
ジョブズがAltoを見て驚いて作ったもの
http://gyazo.com/c0596d8b63d9b9b790d3bb953c5291a7.png
Macintosh
1984 @ Apple
もともとJef Raskinのプロジェクトだった
ジョブズがRaskinを追い出す
NeXT Computer
1985創業 by ジョブズ
1988 NeXT Cube発売
現在のMacの原型
http://gyazo.com/66d94e93c6a0d0153f171b88692e2445.png
開発環境の進化
バージョン管理システムの進化
SCCS (1972)
RCS (1980)
CVS (1986)
Subversion (2000)
git (2005)
ビルドシステムの進化
Make (1977)
Rake
ant
sbt
各種IDE
インタフェースビルダ (1986)
NeXTstep
GUIオブジェクトを対話的に編集
https://gyazo.com/26628fafb9d8cddd83ada076705b68fe.png
Xcode
https://gyazo.com/91768f4e2dd5e628bdbb9e09c26372cc.png
Eclipse
https://gyazo.com/6a4ba95d8e00c59eae210573099702d3.png
開発システムの進化まとめ
Makeの開発から35年
IDEの出現から25年
20年前から大きく変わっているとはいえない
何故進化が遅い?
慣れに支配されている
新しいものに適応できない
「直観的」とは
慣れているものを直感的と感じがち
e.g. ペン操作, プルダウンメニュー, ...
慣れによって上手く使えるようになった
セブンカフェ by 佐藤可士和
https://gyazo.com/182a24c8bc2b1322accaabcdfc0d8437.png
デザインの敗北
https://gyazo.com/92be5ee1a15f21b8c9b557e0215fe775.png
デザインの敗北
https://gyazo.com/b81ff77125b286c600bc609fd19b1421.png
新しいものの普及は難しい
ほとんどの人はすごく保守的
現状への適応を変えたくない
POBoxの成功理由
トップダウンで指示
エバンジェリストの存在
従来インタフェースとの差異を最小に
ジョブズの洗脳術
なんとなく新しいものが良いものだと思わせる
実際は悪くなっていても
オシャレな気分にさせる
パーソナルコンピューティングの変化
マイコン時代 (1970年代)
パソコンCLI時代 (1980年代)
パソコンGUI時代 (1990年〜)
IoT時代 (2015〜?)
マイコン時代 (1970年代)
マイコン回路
スイッチ, センサ, LED
https://gyazo.com/08817cf560e0b559b67dd0f7e121ec3f.png]
パソコンCLI時代 (1980年代)
CP-M
MS-DOS
Unix shell
パソコンGUI時代 (1990年〜)
MacOS
Windows
Unix+GUI
X11
NeXTStep
IoT時代 (2015〜)
マイコンボード
スイッチ, センサ, LED
(パソコンGUI, タブレット)
IoT時代 = Maker時代
コンピュータはインビジブル
マイコン/センサを使い放題
あらゆるものがネット接続
誰もがいろんなものを作る
IoT/Maker時代
必要なものは大体ある
ネット, サーバ, マイコン, センサ, ...
ユーザが何でも作れる
3Dプリンタ, レーザーカッター, ...
電子工作漫画 @ 週刊モーニング
https://gyazo.com/7ecec7cf7e6831cc4b01e77678caaeff.png
メイカーズ進化論 by 小笠原
http://www.amazon.co.jp/dp/4140884711 https://gyazo.com/c12b2462db8a12c0c946b29df7d88351.png
DMM.make @ 秋葉原
http://make.dmm.com/ https://gyazo.com/e2daa143106c5f95f235cbd61de7bc21.png
ビデオ: DMM.make
https://www.youtube.com/watch?v=CmKA99moE0A
https://www.youtube.com/watch?v=slIgRUOEJlM
https://www.youtube.com/watch?v=59bKZUmFi2Y
各種の工作機器を備えた会員制オープンアクセス型DIY工房
富士通が2016春オープン
https://gyazo.com/313c41e5a58c2a27e034058e37279c21.png
https://www.youtube.com/watch?v=cY4xLvAAFo4
Maker機械の例
レーザーカッター
3Dプリンタ
切削マシン
光造形マシン
会社の栄枯盛衰
Apple, Sony, Sharpなどの印象
トップと上層部が大事っぽい
下々の技術者はあまり関係ない
元気な会社の社長は自社製品を使う
Google社長はググってる
JobsはMacとiPhoneを使ってた
松下幸之助は松下製品しか使わなかった
元気な会社の社長は自社製品を使う
au社長はLISMOを使ってたか?
Docomo社長はiモードのサービスを使ってたか?
ソニー社長はWalkmanを使ってなかった
富士通社長はScanSnapを使ってるか?
Apple社長はAppleTVを使ってるか?
元気な会社の社長は自社製品を使う
シャープ社長は液晶テレビを使ってる?
増井は増井のWebサービスしか使わない
Nota社員はNotaのWebサービスばかり使ってる
面白い会社とは
優秀なトップがいる会社
元気の良いベンチャー
人間の活躍について
Steve Jobs
http://gyazo.com/ee8675349ac9f81ce3be8fdbc2b1c582.png
Steve Jobs
子供の頃から優秀
パッカード氏に電話
出入りを許される
高校のときからAtariに出入り
高校のときSteve Wozniakをみつけた
これは運だが運を逃がさないのが偉い
Bill Atkinsonをみつけた
PARCの研究を見に行った
こういう意味でJobs本は面白い
福沢諭吉
何故咸臨丸に乗れたか
いきなり責任者のところに行ってお願いした
もちろんその前にものすごい勉強
コネと実力
実力について
時間をかけて昔からやってることはモノになる
時間の無駄なバイトとかは駄目
人脈について
商売は人脈
コネは実力
コネの活用はさらに実力
親の力も実力のうち
「美味しんぼ」方式
有名人/実力者の連鎖
実力者と近付く方法
コネの利用
人脈の芋蔓
招待講演を企画する
講演会のトイレでつかまえる
弱い紐帯
良い人を知ってることは大事
知らない有名人にもコンタクトする
人に覚えてもらう
キャッチフレーズ
増井といえば何、とか
行動力
じっとしていては何も起こらない
ジョブズ、福沢
普段から準備
勉強
デモの用意
常に考える
運を逃がさない
正しいことを即決する
いつ来るか分からない15分のために常に準備をしているのがプロ
睡眠発想法
勉強してから寝る
クギ13本問題がとけた
勉強してから行動するのと似ているか
夢は持たねば実現しない
ずっと考えてるとチャンスを逃がさない
口が上手いのが大事
文才、プレゼン
国語力
オヤジキラー力
有力者にかわいがられる技術
増井は苦手
何故か下北沢の頑固オヤジの店で喧嘩を売られる
何故か函館の頑固オヤジの店で喧嘩を売られる
何故か浅草の頑固オヤジの店で喧嘩を売られる
社長の条件
愛敬が大事
華やかさ
ハッタリ力について
英語でハッタリを言う
ハッタリの資格
ハッタリの経歴
ハッタリの受賞
プレゼンについて
練習すれば上手くなる
Jobsも昔は下手だった
ロンダリング
わらしべ長者方式
学歴ロンダリング
仕事ロンダリング
未踏プロジェクト
人材発掘
「天才プログラマ」の称号
プログラミング力が多少足りなくてもアイデア勝負
炎上マーケティング
ネットでわざと変なことを言って叩かれる
パクり
Jobsはパクりまくり
ピカソの言葉
「凡人は模倣し、天才は盗む」
パクられてなんぼかも
Web商売
課金モデルと広告モデル
課金は難いことが多い
成功例はニコニコ動画ぐらい?
ベンチャーキャピタル (VC)
スタートアップ会社に金と口を出す
エグジットして大金をせしめる
失敗すれば丸損
常に投資案件を捜している
最近はアベノミクスでバブル気味
"How to Start a Startup"
http://gyazo.com/2a75c2001e1d835813cb767358ee6732.png
起業アドバイス
成功した奴が勝手なことを言っている
誰かひとりの言うことを信用してはいけない
優秀な人材が起業するのは本当か?
米国では本当らしい
周囲では優秀な学生はベンチャーに行っている
起業している奴もいる
シリコンバレーで働く
やっぱりコネは強い
優秀な友達を引っ張ってくる
ジョブズ
ザッカーバーグ
日本からパッと行くのは辛い
進路について
最近はいくらでも変えられる
駄目ならすぐ変わるのがよい
第一印象で問題があればたぶん駄目
転職で大事なこと
外から見えることが重要
× 「課長」
○ すごい論文、学会活動
Webなどで自慢するとよい
歳をとらない方法
人生の速度は自分の経験に依存
同じことをしているとすぐ時間がたつ
転職/引越ししていると歳をとらない
満足する方法
周囲が幸せだと自分も幸せになる
e.g. 奈良や鎌倉に住む
賢い人間/変な人間の中で暮らすべき
変な奴等は大体友達
夢は持たねば実現せず
(C) 冨田勝
持っていると結構実現する
何かをずっと考えていると思いつく
良い情報を集める
賢い人/詳しい人に聞く
大先生にメールしてもOK
Webの見栄えが悪くても良い情報が有ることがある
良い情報を発信すると返ってくる
知識重要!
研究者になる方法
研究者しかわからない
出世する方法
出世した人しかわからない
e.g. Steve Jobs
HPの社長にいきなり連絡した
楽天主義
オプティミストは成功する!
嫌なことをすぐ忘れること
努力すると忘れることはできる
アドバイスまとめ
自分が優秀になる
時間をかけて何かに打ち込む
幅広い知識
IoT, 経済, ...
人脈は実力
コネも実力
運も実力
重要な機会を逃がさない
行動力
宣伝力
喧嘩と炎上
喧嘩
昔から多い
炎上
ブログ時代/SNS時代に登場
ネット喧嘩
相手の感情が見えない
証拠が残ってしまう
観客が存在するので勝負にこだわる
泥試合が続く
炎上
https://www.youtube.com/watch?v=eq_by3ta-ys
投稿記事が誰かの規範に抵触していると攻撃される
イジメや攻撃が面白い?
匿名だと攻撃しやすい
まとめ
インタフェースの改良は沢山ある
変なものをみつけたら改良について考えよう
新しいインタフェースを持つ新しいサービスを作ろう
プログラミングして遊ぼう